Saltar al contenido principal

7.3 Bases de Datos con SQLite

Hasta ahora, hemos guardado información en ficheros de texto, CSV y JSON. Son soluciones rápidas, pero tienen limitaciones: buscar un dato específico en un JSON de 1GB es lento, y asegurar que dos ficheros estén "sincronizados" es una pesadilla técnica.

Cuando los datos crecen y necesitamos velocidad, relaciones complejas y seguridad, entramos en el territorio de las Bases de Datos Relacionales.


1️⃣ ¿Por qué SQLite?​

En esta unidad utilizaremos SQLite, una joya de la ingeniería de software que está integrada directamente en Python.

  • Sin Instalación: No necesitas configurar un servidor como MySQL o PostgreSQL.
  • Portabilidad Total: Tu base de datos es un simple archivo .db que puedes copiar o enviar por email.
  • Estándar de la Industria: Se usa en navegadores web (como Chrome), en aplicaciones móviles (Android e iOS) y en software profesional de todo tipo.

2️⃣ Qué aprenderás en este bloque​

En este bloque te convertirás en el guardián de la Cripta de Datos, aprendiendo a:

  1. Conectar y Crear: Dominar el ciclo de vida de una base de datos embebida.
  2. Operar con CRUD: Insertar, Leer, Actualizar y Borrar información de forma profesional.
  3. Interrogar al Sistema: Usar consultas SQL avanzadas para extraer estadísticas y reportes.
  4. Relacionar Conceptos: Conectar tablas y aplicar reglas de integridad (claves foráneas).
  5. Blindar el Sistema: Implementar transacciones para que tus datos nunca se corrompan.

3️⃣ La Misión: La Cripta de Datos​

A lo largo de los 5 puntos de esta unidad, seguirás una narrativa práctica. No solo aprenderás código, estarás construyendo y gestionando el sistema de información de una biblioteca secreta, enfrentándote a retos reales de integridad, volumen de datos y recuperación ante fallos.

Preparando el Entorno

No necesitas instalar nada. Asegúrate de tener Python instalado y de que puedes importar el módulo sqlite3:

import sqlite3
print(sqlite3.version)

4️⃣ Recursos de la Unidad​

Para completar los retos de la Cripta de Datos, descarga este paquete que contiene los esquemas iniciales, archivos de datos y scripts de soporte:

👉 [Descargar Recursos 7.3 (/recursos/python/UT7/7_3_bbdd_ficheros.zip)]

Contenido del paquete:

  • setup_cripta.sql: Script SQL para crear la estructura inicial normalizada.
  • biblioteca_inicial.csv: Datos para practicar importaciones masivas.
  • libros_migracion.json: Archivo con datos "sucios" para practicar transacciones.
  • generador_caos.py: Script de Python que genera una base de datos corrupta para practicar auditoría y limpieza.